#include "bartext.h"

lv_obj_t *label;

void btn_event_cb1(lv_event_t *e)
{
    lv_obj_t *bar1 = lv_event_get_user_data(e);

    // 获取进度条的当前值
    int value = lv_bar_get_value(bar1);

    value++;

    // 设置进度条的当前值
    lv_bar_set_value(bar1, value, LV_ANIM_ON);

    // 设置标签的值
    lv_label_set_text_fmt(label, "%d %%", value);
}
void btn_event_cb2(lv_event_t *e)
{
    lv_obj_t *bar1 = lv_event_get_user_data(e);

    // 获取进度条的当前值
    int value = lv_bar_get_value(bar1);

    value--;

    // 设置进度条的当前值
    lv_bar_set_value(bar1, value, LV_ANIM_ON);

    // 设置标签的值
    lv_label_set_text_fmt(label, "%d %%", value);
}
void mybar()
{
    // 创建一个进度条
    lv_obj_t *bar1 = lv_bar_create(lv_screen_active());

    // 设置进度条的范围
    lv_bar_set_range(bar1, 0, 100);

    // 设置进度条的当前值
    lv_bar_set_value(bar1, 10, LV_ANIM_ON);

    // 中央显示
    lv_obj_center(bar1);

    // 在进度条上创建标签
    label = lv_label_create(bar1);

    // 获取进度条的当前值
    int value = lv_bar_get_value(bar1);

    // 设置标签的文本
    lv_label_set_text_fmt(label, "%d %%", value);

    lv_obj_center(label);

    // 设置标签的文本颜色
    lv_obj_set_style_text_color(label, lv_color_hex(0xFF0000), 0);

    // 创建一个按钮
    lv_obj_t *btn = lv_button_create(lv_screen_active());

    // 设置按钮的文本
    lv_obj_t *lb = lv_label_create(btn);
    lv_label_set_text(lb, "+1");

    // 设置到进度条的 右边
    lv_obj_align_to(btn, bar1, LV_ALIGN_OUT_RIGHT_MID, 10, 0);

    // 注册事件
    lv_obj_add_event_cb(btn, btn_event_cb1, LV_EVENT_CLICKED, bar1);

    // 创建第二个按钮
    lv_obj_t *btn1 = lv_button_create(lv_screen_active());

    // 设置按钮的文本
    lv_obj_t *lb2 = lv_label_create(btn1);
    lv_label_set_text(lb2, "-1");

    // 设置到进度条的 右边
    lv_obj_align_to(btn1, bar1, LV_ALIGN_OUT_LEFT_MID, -10, 0);

    // 注册事件
    lv_obj_add_event_cb(btn1, btn_event_cb2, LV_EVENT_CLICKED, bar1);
}